Device and method for advanced Bayesian Kalman time estimation

ABSTRACT

A method and device are disclosed for calculating estimated time stamps ì t  in video distribution apparatus, MPEG-2 program encoders, multiplexers, splicers. True times Y t  of a data packet number t having the linear form: 
     
       
           Y   t   =Y   t−1 +β t , 
       
     
     
       
         β t =β t−1 +η t , 
       
     
     with η t  being a small perturbation relative to the linear relation between time and packet number. The true times of data packet number t are observed as: o t =Y t +ε t , where ε t  is an observational error. The estimated time stamps are produced according to: ì t =ì t−1 +β t  and such that the value of β t  is made dependent on the exceeding by #o t −ì t−1 −β t−1  # of max[ε t ]. The results are accurate and smooth estimated time stamps.

BACKGROUND OF THE INVENTION

The present invention relates to a device for calculating estimated time stamps ì, the device comprising processor means provided with an output, and with an input for receiving true times Y_(t) of a data packet number t having the linear form:

Y _(t) =Y _(t−1)+β_(t),

β_(t)=β_(t−1)+η_(t),

with η_(t) being a small perturbation relative to the linear relation between time and packet number, whereby the processor means are arranged:

to observe the true time of data packet number t as:

o _(t) =Y _(t)+ε_(t),

where ε_(t) is an observational error, and

to produce at its output the estimated time stamps according to:

ì _(t) =ì _(t−1)+β_(t).

The present invention also relates to a method set out in the preamble of claim 5.

Such a device and method are known from “Bayesian forecasting and dynamic models”, by West, M. and J. Harrison, in particular section 7.3, Springer, 1998. Described therein is the Bayesian Kalman model, which is a dynamic linear model for predicting time stamps ì_(t), based on true times Y_(t) of an input data packet number t. This technique is applied in Digital Videocommunication Systems used in the distribution and combination of for example video signals for multiplexing, re-multiplexing and de-multiplexing in particular MPEG (=Moving Picture Encoded Group) transport streams. Usually the relation between time and packet number is linear in e.g. MPEG streams. In practise the specifications of these streams allow for small deviations from linearity, whereby the coefficients of the linear relation may vary slowly in time. The true times Y_(t) of data packet number t can be described in the linear form as:

Y _(t) =Y _(t−1)+β_(t),

 β_(t)=β_(t−1)+η_(t),

with η_(t) being a small perturbation relative to the linear relation between time and packet number, that holds in the vicinity of packet t−1. The true time of data packet number t is observed as:

o _(t) =Y _(t)+ε_(t),

where ε_(t) is an observational error. ε_(t) and η_(t) are stochastic variables having a normal distribution in the standard theoretical development of the model. Now based on prior knowledge about (β₀, Y₀), an explicit Bayesian analysis can be performed leading to a posterior distribution of (β_(t), Y_(t)) after observing o_(t). This leads to the known Bayesian Kalman filter as a means for revealing ì_(t) as an estimate for the true time Y_(t), given the observed time (o₁, . . . , o_(t)) of packet t. West and the Harringtons give a full formal derivation thereof in section 7.3. Two Bayesian Kalman, to be referred to as BK, estimates are proposed. The ordinary BK is optimal with respect to a tracking error δ^((t)), defined by: #Y_(t)−ì_(t)#<δ^((t)), whereas a smoothed BK estimate is optimal with respect to smoothness, defined by: #ì_(t)−2ì_(t−1)+ì_(t−2)#<δ^((s)).

It is a disadvantage of the standard Bayesian Kalman device and method that, either tracking or smoothing constraints can only be complied with.

SUMMARY OF THE INVENTION

Therefore it is an object of the present invention to provide an improved Bayesian Kalman device and method, which can simultaneously comply with both the above tracking constraint and the above smoothing constraint.

Thereto the device according to the present invention is characterised in that the computation by the processing means is such that the value of β_(t) is made dependent on the exceeding by #o_(t)−ì_(t−1)−β_(t−1) # of max[ε_(t)].

It is an advantage of the device according to the invention that the values of ε_(t) are made conditional on the difference between the observed true time o_(t) and the estimated time stamps ì_(t). If tracking becomes a problem the maximum value of ε_(t) (which is max[ε_(t)]), is exceeded by that difference and then β_(t) can be chosen to have a different value, such that tracking will no longer be a problem. Thus the result is a sequence of time stamps, which is both smooth and accurate, which is especially but not exclusively important in an SW-MUX (SoftWare encoding and MUltipleXing), TokenMux or DTS (Decode Time Stamp) environment, where observed time stamps in data, samples and/or packets can be very noisy or are provided with jitter.

As time stamps are very important in devices and apparatus that time, multiplex, demultiplex or remultiplex program components, such as program encoders, splicers etcetera, an improved timing accuracy also improves the video image quality and synchronisation capabilities. It also shortens the acquisition time in transport stream equipment, such as with MPEG-2 transport streams.

Another embodiment of the device according to the invention is characterised in that the computation by the processing means is such that:

β_(t) equals β_(t) ^((i)) if #o _(t) −ì _(t−1)−β_(t−1) #≦max[ε_(t)], else

β_(t) equals β_(t−1)+sign(o _(t) −ì _(t−1)−β_(t−1))max[η_(t)], with

β_(t) ^((i))=β_(t−1) +rA,

A=(o _(t) −ì _(t−1)−β_(t−1))/var[o _(t)],

r being the prior—i.e before observing o_(t)—correlation between β_(t) and Y_(t); and that:

ì _(t) =ì _(t−1)+β_(t−1) +A*var[Y_(t)].

Advantageously in case of tracking problems the values of β_(t) are updated at the maximum rate that is allowed by the specifications, whereby this boosted estimate replaces the smooth Bayesian Kalman estimate of β_(t) in the Kalman recursion relations. The filter thus devised approaches to some extend the known Bayesian Kalman filter device as a special case, which may be achieved by setting max[ε_(t)]=∞. Advantageously the device according to the invention has three degrees of freedom: max[ε_(t)] which usually is the upper bound to the magnitude of the noise, max[η_(t)] which is the upper bound to the maximum nonlinearity that is allowed, and var[ε_(t)] or σ²[ε_(t)] being the variance of the statistical noise distribution.

One embodiment of the device according to the invention is characterised in that the processing means are programmable processing means, which are programmed to perform said computations. It is an advantage of the device according to the invention that no essential hardware is necessary and that the computations can be done by an ordinary computer, such as a PC, whereon the advanced BK filter can be software implemented.

Easy and flexible programming is realised in a further embodiment of the device according to the invention, which is characterised in that the computations are programmed in the C programming language.

Similarly the method according to the present invention has the characterising features outlined in claim 5, and the advantages set out above.

BRIEF DESCRIPTION OF THE DRAWING

At present the device and method according to the invention will be elucidated further together with their additional advantages, while reference is being made to the appended FIGURE. The FIGURE shows an simplified embodiment of the device according to the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The FIGURE shows a system or device 1 having one or more inputs 2-1, . . . , 2−n, and an output 3. The inputs 2 can carry time signals, such as video signals, in particular MPEG like video signals which are set to a process of extracting time information from the input signals by means of a processor 4, such as a microprocessor, which is included in the device 1. The time information in the signals represent true moments in time, referred to as Y_(t), of a data packet number t. The consecutive true times have the linear form:

Y _(t) =Y _(t−1)+β_(t),

β_(t)=β_(t−1)+η_(t),

with η_(t) being a small perturbation relative to the linear relation between time and packet number. The processor means 4 are arranged to observe the true time of data packet number t as o_(t)=Y_(t)+ε_(t), where ε_(t) is an observational error. Finally the device 1 produces in case it functions as a multiplexer one output signal, containing the estimated time stamps according to:

ì _(t) =ì _(t−1)+β_(t−1) +A*var[Y _(t)].

These estimated time stamps have to be accurate and smooth at all times. Generally there are two main constraints which are posed on the estimate ì_(t):

the tracking constraint: #Y _(t−1) ì _(t)#<δ^((t))  (1)

and

the smoothness constraint: #ì _(t)−2ì _(t−1) +ì _(t−2)#<δ^((s)).  (2)

Equation (1) expresses that the difference between the true times and the estimated times should not exceed δ^((t)), and equation (2) expresses that the first derivative of the consecutive estimated times should not exceed δ^((s)). In order to be able to comply with both requirements it is proposed that the estimated time stamps are calculated such that the value of β_(t) is made dependent on the exceeding by #o_(t)−ì_(t−1)−β_(t−1)# of max[ε_(t)]. This provides additional flexibility to comply with the above mentioned tracking constraints. In particular the computation by the processing means is such that:

β_(t) equals β_(t) ^((i)) if #o _(t) −ì _(t−1)−β_(t−1)#≦max[ε_(t)], else

β_(t) equals β_(t−1)+sign(o _(t) −ì _(t−1)−β_(t−1))max[η_(t)], with

β_(t) ^((i))=β_(t−1) +rA,

 A=(o _(t) −ì _(t−1)−β_(t−1))/var[o _(t)],

r being the prior—i.e. before observing o_(t)—correlation between β_(t) and Y_(t); and that:

ì _(t) =ì _(t−1)+β_(t−1) +A*var[Y _(t)].

This additionally provides for compliance with the smoothness constraint, as in the case of no tracking problem the known Bayesian Kalman model is followed. This is described in “Bayesian forecasting and dynamic models”, by West, M. and J. Harrison, in particular section 7.3, Springer, 1998, which is incorporated herein by reference thereto. The variety of scalar matrix quantities in the correlation r and in the expression for the variance var can be taken from the known Bayesian Kalman model as described in the above article. They allow for very fast calculation of these quantities.

The processing means may and will generally be programmable processing means, stored in a memory 5 included in the device 1, which are programmed to perform said computations. So no hardware modules are necessary any more. The computations may be programmed in any programming language, but the C programming language is preferred because of its general acceptance. 

What is claimed is:
 1. A device for calculating estimated time stamps ì_(t), the device comprising processor means provided with an output, and with an input for receiving true times Y_(t) of a data packet number t having the linear form: Y _(t) =Y _(t−1)+β_(t), β_(t)=β_(t−1)+η_(t), with η_(t) being a small perturbation relative to the linear relation between time and packet number, whereby the processor means are arranged: to observe the true time of data packet number t as: o _(t) =Y _(t)+ε_(t), where ε_(t) is an observational error, and to produce at its output the estimated time stamps according to: ì _(t) =ì _(t−1)+β_(t) characterised in that the computation by the processing means is such that the value of β_(t) is made dependent on the exceeding by #o_(t)−ì_(t−1)−β_(t−1) # of max[ε].
 2. The device according to claim 1, characterised in that the computation by the processing means is such that: β_(t) equals β_(t) ^((i)) if #o _(t) −ì _(t−1)−β_(t−1) #≦max[ε_(t)], else β_(t) equals β_(t−1)+sign(o _(t) −ì _(t−1)−β_(t−1))max[η_(t)], with β_(t) ^((i))=β_(t−1) +rA, A=(o _(t) −ì _(t−1)−β_(t−1))/var[o _(t)], r being the prior correlation between β_(t) and Y_(t); and that: ì _(t) =ì _(t−1)+β_(t−1) +A*var[Y _(t)].
 3. Device according to claim 1, characterised in that the processing means are programmable processing means, which are programmed to perform said computations.
 4. Device according to claim 3, characterised in that the computations are programmed in the C programming language.
 5. A method wherein estimated time stamps ì_(t) are being calculated, and where true times Y_(t) of a data packet number t which are being processed have the linear form: Y _(t) =Y _(t−1)+β_(t), β_(t)=β_(t−1)+η_(t), with η_(t) being a small perturbation relative to the linear relation between time and packet number, whereby the true time of data packet number t is observed as: o _(t) =Y _(t)+ε_(t), where ε_(t) is an observational error, and where the estimated time stamps are being produced according to: ì _(t) =ì _(t−1)+β_(t) characterised in that the processing taken place such that: β_(t) equals β_(t) ^((i)) if #o _(t) −ì _(t−1)−β_(t−1) #≦max[ε_(t)], else β_(t) equals β_(t−1)+sign(o _(t) −ì _(t−1)−β_(t−1))max[η_(t)], with β_(t) ^((i))=β_(t−1) +rA, A=(o _(t) −ì _(t−1)−β_(t−1))/var[o _(t)], r being the prior correlation between β_(t) and Y_(t); and that: ì _(t) =ì _(t−1)+β_(t−1) +A*var[Y _(t)]. 